#ifndef WCCZIPPER_H
#define WCCZIPPER_H

#include <QStringList>
#include <QThread>

class QuaZip;
class QuaZipFile;
class QFile;

namespace WccNameSpace {
namespace Internal {

class WccZipper : public QThread
{
    Q_OBJECT

public:
    explicit WccZipper(QObject *parent);
    ~WccZipper();

    void setFileName(const QString &name);
    QString fileName() const;
    QString errorMessage() const;
    void setFiles(const QStringList &list);
    void addFile(const QString &file);
    void addFiles(const QStringList &list);
    bool createZip();

private:
    bool packFiles();
    void run();
    void cleanup();

    QFile *m_realFile;
    QuaZip *m_quaZip;
    QuaZipFile *m_quaZipFile;

    QStringList m_files;
    QString m_zipFileName;
    QString m_errorMsg;
};

}
}

#endif // WCCZIPPER_H
